This specification relates to virtualized storage systems.
A virtual machine is a software-based abstraction of a physical computer system. A virtual machine is executed on a physical computer through the use of virtualization software typically referred to as a “hypervisor.” A physical computer system, referred to herein as a host, can execute one or more virtual machines. The hypervisor is software that is logically interposed between and interfaces with a virtual machine and a physical computer system. In general, each virtual machine is configured to execute an operating system, referred to herein as a guest OS, and applications. In virtualized storage environments, storage systems often need to reclaim storage resources allocated to virtual machines when those storage resources are unused or no longer needed by the virtual machines.
Storage resource reclamation is especially important for storage systems that rely on a thin provisioning scheme for allocating storage resources. A storage system that relies on thin provisioning over-commits its available storage resources and as such often relies on reclaiming unused or unneeded storage resources for meeting its performance and reliability goals. However, despite its importance to virtualized storage systems, efficient storage resource reclamation continues to be a challenge for developers of those systems.
The details of one or more embodiments of the subject matter described in this document are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
Like reference numbers and designations in the various drawings indicate like elements.